home *** CD-ROM | disk | FTP | other *** search
/ Programming Sound Cards / Programming Sound Cards.iso / sound_56 / efx_name.inc < prev    next >
Text File  |  1995-01-01  |  4KB  |  110 lines

  1. const effect_name:array[0..53] of string[26] =
  2. ('','A: set speed',
  3.     'B: jump to order',
  4.     'C: pattern break to',
  5.  
  6.     'D: Volume slide down',
  7.     'D: Volume slide up',
  8.     'D: Fine volume down',
  9.     'D: Fine volume up',
  10.  
  11.     'E: Slide pitch down',
  12.     'E: Fine slide pitch down',
  13.     'E: Xtrafine slidedown',
  14.  
  15.     'F: Slide pitch up',
  16.     'F: Fine slide pitch up',
  17.     'F: Xtrafine slide up',
  18.  
  19.     'G: Portamento to note',
  20.     'H: Vibrato',
  21.     '->I<-: Tremor',
  22.     'J: Arpeggio',
  23.  
  24.     'K: Vibrato+Vol.slddown',
  25.     'K: Vibrato+Vol.sldup',
  26.     'K: Vibrato+FineVoldown',
  27.     'K: Vibrato+FineVolup',
  28.  
  29.     'L: Portameto+Vol.slddown',
  30.     'L: Portameto+Vol.sldup',
  31.     'L: Portameto+FineVoldown',
  32.     'L: Portameto+FineVolup',
  33.  
  34.     'O: Set sample offset',
  35.  
  36.     'Q: Retrigg note (no sld)',
  37.     'Q: Retrigg note (vol.down)',
  38.     'Q: Retrigg note (vol*2/3)',
  39.     'Q: Retrigg note (vol*1/2)',
  40.     'Q: Retrigg note (vol.up)',
  41.     'Q: Retrigg note (vol*3/2)',
  42.     'Q: Retrigg note (vol*2)',
  43.  
  44.     'R: Tremolo',
  45.  
  46.     '>S0: Set filter <not impl>',
  47.     '>S1: Set glissando <not impl>',
  48.     '>S2: Set finetune',
  49.     '>S3: Set vibrato waveform',
  50.     '>S4: Set tremolo waveform',
  51.     '',
  52.     '',
  53.     '',
  54.     '>S8: Amiga command E8xh',
  55.     '',
  56.     '>SA: Stereo control <not implemented>',
  57.     '>SB: Pattern loop',
  58.     '>SC: Note cut',
  59.     '>SD: Note delay',
  60.     '>SE: Pattern delay',
  61.     '>SF: Funk repeat <not implemented>',
  62.  
  63.     'T: set tempo',
  64.     'U: fine vibrato',
  65.     'V: set global volume');
  66. function get_effectname(chn_no,cinfo,c2nd:byte;para:byte):string;
  67. const conv:array[0..22] of byte = (0,1,2,3,4,8,11,14,15,16,17,18,22,0,0,26,0,27,34,35,51,52,53);
  68. var s,t:string[40];
  69.   begin
  70.     s:=effect_name[conv[cinfo]+c2nd];
  71.     if cinfo=1 then { Set speed }
  72.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  73.     if cinfo=2 then { jump to order }
  74.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  75.     if cinfo=3 then { pattern break to }
  76.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  77.     if cinfo=4 then { volume effects }
  78.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  79.     if cinfo=5 then { slide down effects }
  80.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  81.     if cinfo=6 then { slide down effects }
  82.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  83.     if cinfo=7 then { portamento }
  84.         s:=s+' :'+b2hs(channel[chn_no].PortPara);
  85.     if cinfo=8 then { Vibrato }
  86.         s:=s+' :'+b2hs(channel[chn_no].VibPara);
  87.     if cinfo=9 then { Tremor                           ... not done yet };
  88.     if cinfo=10 then { Arpeggio }
  89.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  90.     if cinfo=11 then { Vibrato+Vol }
  91.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  92.     if cinfo=12 then { portamento+Vol }
  93.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  94.     if cinfo=15 then { Sample offset }
  95.         s:=s+': '+b2hs(para)+'00h';
  96.     if cinfo=17 then { Retrigger }
  97.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  98.     if cinfo=18 then { Tremolo }
  99.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  100.     if cinfo=19 then { Special commands            ... not fully done yet }
  101.         s:=effect_name[conv[cinfo]+channel[chn_no].Parameter shr 4]+' :'+b2hs(channel[chn_no].Parameter);
  102.     if cinfo=20 then { Set tempo }
  103.         s:=s+' :'+b2hs(channel[chn_no].Parameter);
  104.     if cinfo=21 then { Fine Vibrato }
  105.         s:=s+' :'+b2hs(channel[chn_no].VibPara);
  106.     if cinfo=22 then { Set global volume }
  107.         s:=s+' :'+b2ds(channel[chn_no].Parameter);
  108.     str(cinfo,t);
  109.     get_effectname:=s;
  110.   end;